package com.omega.encryptedsql.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SensitiveField {

    /**
     * 是否启用加密（默认启用）
     */
    boolean enabled() default true;

    // 加密算法，默认为AES
    Algorithm algorithm() default Algorithm.AES;

    // 密钥ID，用于密钥轮换
    String keyId() default "default";

    enum Algorithm {
        AES, SM4 // 支持国密SM4
    }
}
